<template>
	<view class="goods-item">
		<!-- 商品左侧图片区域 -->
		<view class="goods-item-left">

			<view @click="radioClickHandler">
				<my-radio :checked="goods.goods_state"></my-radio>
			</view>

			<image class="goods-pic" :src="goods.goods_small_logo || defaultPic"></image>
		</view>

		<view class="goods-item-right">
			<view class="goods-name">{{ goods.goods_name }}</view>
			<view class="goods-info-box">
				<view class="goods-price">￥{{ goods.goods_price }}</view>
				<uni-number-box :min="1" :value="goods.goods_count" @change="numChangeHandler"></uni-number-box>
			</view>
		</view>
	</view>
</template>

<script>
import myRadio from './my-radio.vue';
export default {
	name: "my-goods",
	props: {
		goods: {
			type: Object,
			default: {}
		}
	},
	data() {
		return {
			defaultPic: 'https://img3.doubanio.com/f/movie/8dd0c794499fe925ae2ae89ee30cd225750457b4/pics/movie/celebrity-default-medium.png'
		};
	},
	methods: {
		radioClickHandler() {
			this.$emit('radio-change', {
				goods_id: this.goods.goods_id,
				goods_state: !this.goods.goods_state
			})
		},
		numChangeHandler(val) {
			this.$emit('num-change', {
				goods_id: this.goods.goods_id,
				goods_count: +val
			});
		}
	},
	components: {
		myRadio
	}
}
</script>


<style lang="scss" scoped>
.goods-item {
	width: 750rpx;
	box-sizing: border-box;
	display: flex;
	padding: 10px 5px;
	border-bottom: 1px solid #f0f0f0;

	.goods-item-left {
		margin-right: 5px;
		display: flex;
		justify-content: space-between;

		.goods-pic {
			width: 100px;
			height: 100px;
			display: block;
		}
	}

	.goods-item-right {
		display: flex;
		flex: 1;
		flex-direction: column;
		justify-content: space-between;

		.goods-name {
			font-size: 13px;
		}

		.goods-info-box {
			display: flex;
			align-items: center;
			justify-content: space-between;
		}

		.goods-price {
			font-size: 16px;
			color: #c00000;
		}
	}
}
</style>
